Software Thread Level Speculation for the Java Language and Virtual Machine Environment

نویسندگان

  • Christopher J. F. Pickett
  • Clark Verbrugge
چکیده

Thread level speculation (TLS) has shown great promise as a strategy for fine to medium grain automatic parallelisation, and in a hardware context techniques to ensure correct TLS behaviour are now well established. Software and virtual machine TLS designs, however, require adherence to high level language semantics, and this can impose many additional constraints on TLS behaviour, as well as open up new opportunities to exploit language-specific information. We present a detailed design for a Java-specific, software TLS system that operates at the bytecode level, and fully addresses the problems and requirements imposed by the Java language and VM environment. Using SableSpMT, our research TLS framework, we provide experimental data on the corresponding costs and benefits; we find that exceptions, GC, and dynamic class loading have only a small impact, but that concurrency, native methods, and memory model concerns do play an important role, as does an appropriate, language-specific runtime TLS support system. Full consideration of language and execution semantics is critical to correct and efficient execution of high level TLS designs, and our work here provides a baseline for future Java or Java virtual machine implementations.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Software-Based Method-Level Speculation Framework for the Java Platform

With multicore processors becoming ubiquitous on computing devices, the need for both parallelizing existing sequential applications and designing new parallel applications is greatly intensified. With our work, we intend to tackle the former issue. In this paper, we present the design of a software-based automatic parallelization framework for sequential applications that run on the Java platf...

متن کامل

Java object migration using intelligent software agents

The distributed object model is one of the most commonly used programming paradigms. Distributed object systems require objects to remotely communicate and perform coordinated computations. Migration of objects is an important aspect of distributed object computation as it can help to alleviate the effect of object or node failures and communications latency [1]. However, migrating a running ob...

متن کامل

Static Java Program Features for Intelligent Squash Prediction

The thread-level speculation paradigm parallelizes sequential applications at run-time, via optimistic execution of potentially independent threads. This enables unmodified sequential applications to exploit thread-level parallelism on modern multicore architectures. However a high frequency of data dependence violations between speculative threads can severely degrade the performance of thread...

متن کامل

Speculative Multithreading for Java School of Computer

Automatic parallelization is a compiler and/or runtime optimization that allows single-threaded programs to exploit multiple processors without additional programmer effort. However, although traditional methods can often handle regular and numerical programs, there is no automatically parallelizing compiler or runtime system that works in the general case for irregular and non-numerical progra...

متن کامل

Statement of Research

History has shown the benefits of high-level languages, language design, and managed language runtimes on how programmers develop complex and sophisticated systems. High-level languages, such as Java and Standard ML, are strongly typed and provide rich abstraction mechanisms, thereby reducing the time and effort to develop software. Language primitives and abstractions provide semantic guarante...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005